package com.mobile.service.dto;
import com.mobile.service.dto.base.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 保险审核表
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class InsuranceApprovalDTO extends BaseDTO {
    @Schema(description = "主键ID", accessMode = Schema.AccessMode.READ_ONLY)
    private Integer id;

    @Schema(description = "保险类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private String insuranceType;

    @Schema(description = "关联的申报记录ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private String declarationId;

    @Schema(description = "审核人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String auditorName;

    @Schema(description = "审核部门", requiredMode = Schema.RequiredMode.REQUIRED)
    private String department;

    @Schema(description = "审核时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private Date reviewedAt;

    @Schema(description = "审核状态", requiredMode = Schema.RequiredMode.REQUIRED)
    private String approvalStatus;

    @Schema(description = "审核意见", requiredMode = Schema.RequiredMode.REQUIRED)
    private String reviewComment;

    @Schema(description = "缴费基数核定", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal paymentBase;

    @Schema(description = "缴费档次确认", requiredMode = Schema.RequiredMode.REQUIRED)
    private String confirmedPaymentLevel;

    @Schema(description = "风险类别确认", requiredMode = Schema.RequiredMode.REQUIRED)
    private String confirmedRiskCategory;

    @Schema(description = "就业状态确认", requiredMode = Schema.RequiredMode.REQUIRED)
    private String confirmedEmpStatus;

    @Schema(description = "参保起始日期", requiredMode = Schema.RequiredMode.REQUIRED)
    private Date coverageStartDate;

}
